package com.clementheliou.cheliou.dal.core.fest.assertions;

import org.fest.assertions.api.Assertions;
import org.hibernate.stat.Statistics;

import com.clementheliou.cheliou.dal.core.hibernate.stat.fest.asserter.StatisticsAsserter;
import com.clementheliou.cheliou.dal.model.member.Member;
import com.clementheliou.cheliou.dal.model.member.fest.asserter.MemberAsserter;

/**
 * Entry point for assertion methods of the project, including the FEST library ones.
 * 
 * @author Clément HELIOU (clement.heliou@gmail.com)
 * @see {@link Assertions}.
 * @since 1.0
 */
public class CHeliouDALAssertions extends Assertions {

	/**
	 * Static factory for the {@link Member} instances.
	 * 
	 * @author Clément HELIOU (clement.heliou@gmail.com)
	 * @param actual the {@link Member} instance to be asserted.
	 * @return the {@link MemberAsserter} to be used.
	 * @see {@link MemberAsserter}.
	 * @since 1.0
	 */
	public static MemberAsserter assertThat(final Member actual) {
		return new MemberAsserter(actual);
	}

	/**
	 * Static factory for the {@link Statistics} instances.
	 * 
	 * @author Clément HELIOU (clement.heliou@gmail.com)
	 * @param actual the {@link Statistics} instance to be asserted.
	 * @return the {@link StatisticsAsserter} to be used.
	 * @see {@link StatisticsAsserter} to be used.
	 * @since 1.0
	 */
	public static StatisticsAsserter assertThat(final Statistics actual) {
		return new StatisticsAsserter(actual);
	}
}
